1. Field of the Invention
The present invention relates to a load process that converts data that is stored in a secondary memory device in a storage format into a computable format and reads this into a main memory device. A data storage process converts the data that is held in computable format in the main memory into a storage format and writes this to a secondary memory device. More particularly, the present invention relates to a database apparatus that determines validity and conducts the loading and storing process for each element that comprises data.
2. Description of Related Art
When a process is executed on data that is stored in a secondary memory apparatus in a database management system, the data is read from the secondary memory apparatus into a main memory apparatus. Processes such as display and editing are executed on the data in the main memory apparatus using an application program that is installed on the information processing apparatus.
In the database management system, normally the data that is accumulated in the secondary memory apparatus is in a data format suitable for accumulation (i.e., a storage format) and the data that is held in the main memory apparatus is in a data format suitable for processing (i.e., computable format). Consequently, data format conversion is conducted between the secondary memory apparatus and the main memory apparatus at the time of the loading and storing processes.
In an object-oriented database management system, a load process is conducted where objects in storage format, which are collections of element data, in the secondary memory apparatus are converted to computable format and written to the main memory apparatus. A storing process is conducted where objects in computable format in the main memory apparatus are converted to storage format and written to the secondary memory apparatus. These processes are conducted using pointer conversion.
The pointer conversion of this kind of object-oriented database management system is disclosed in "Working with Persistent Objects: To Swizzle or Not to Swizzle" (J Eliot B. Moss) in IEEE Transaction on Software Engineering (Vol. 18, No. 8, 1992) and in Japanese Laid-Open Patent Publication Hei 5-225034, the subject matters of which are incorporated herein by reference. Various disclosures are made relating to the conversion method and the determination of validity of the converted objects.
In the former document, a bulk conversion method (a page at a time method called the Eager method) is disclosed where data is read from the secondary memory apparatus into the main memory apparatus in page units with all of the objects in the page undergoing pointer conversion at once. A successive conversion method (object at a time method called the Lazy method) disclosed where the objects within the page undergo pointer conversion when needed.
In the latter document, a method is disclosed where information indicating the status of the converted objects is found for each object and the validity of the converted data is determined using this status information. The status of an object can be valid or invalid. Valid is set through conversion being executed. Alternatively, invalid is set when a transaction that alters the contents of the object has been abnormally concluded or when a transaction that alters the contents for the same object through another information processing device has been normally concluded.
In a database management system, not only objects but also indexes and buckets that are used in high-speed searching of data and collections that are collections of a plurality of objects are also accumulated in a storage format in the secondary memory apparatus. At the time of processing, these are converted into a computable format and held in the main memory apparatus. "Linear hashing: A new tool for file and table addressing" (W. Litwin) in IEEE Proc. 6th Conf. VLDB 1980, the subject matter of which is incorporated herein by reference, discloses a method of linear hashing in which indexes are represented by a plurality of structure elements. In this linear hashing, data is expressed in a layered structure of buckets that are a collection of a plurality of elements (corresponding to keys and values) and indexes that manage these bucket groups.
In addition, Japanese Laid-Open Patent Publication Hei 2-54370, the subject matter of which is incorporated herein by reference, discloses a method for loading the top structure and the bottom structure of these indexes of layered structure in order into the main memory apparatus.
Conventionally, by conducting the loading storing processes accompanying format conversion in object units and bucket units, processes corresponding to unnecessary objects and buckets can be eliminated in comparison to when loading processes and storing processes are conducted in page units that contain a plurality of objects and index units that contain a plurality of buckets. By shortening the calculation processing time needed for format conversion, the loading process and storing processes can be speeded up.
However, even when conducting these format conversion processes in object units and bucket units when only element data of a portion of the plurality of element data items that are included in objects are referenced by the application program or when only the element data of a portion of the plurality of element data items (key and value groups) contained in the buckets are referenced, the format conversion process is also conducted for the element data that is not the target of referencing. Consequently, unnecessary conversion processes are executed at this point making it impossible to achieve adequate speeding of processes.
This kind of situation becomes striking the larger the number of element data items that comprise a single object or a single bucket thus becoming a large factor impeding the speeding up the loading process and storing process accompanying format conversion.